<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page import="com.esurvey.core.*" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.sql.Date" %>
<HTML>
<HEAD>
	<TITLE>eSurvey - Men&uacute; principal</TITLE>
<LINK href="styles/general.css" type="text/css" rel="stylesheet">
<LINK href="styles/encuestador.css" type="text/css" rel="stylesheet">
<SCRIPT src="jquery/jquery.js" type="text/javascript"></SCRIPT>
<SCRIPT src="js/global.js" type="text/javascript"></SCRIPT>
<SCRIPT src="js/userMySurveys.js" type="text/javascript"></SCRIPT>
</HEAD>
<%
if ((session.getAttribute("kind") == "user") || (session.getAttribute("kind") == "admin")) {
	try {
		//cargamos toda la información del usuario que se ha logueado
		String login = session.getAttribute("username").toString();
		User user = eSurveyPersistence.loadUser(login);
		//cargamos las encuestas que pertenecen al usuario logueado
		ArrayList<Survey> userSurveys = eSurveyPersistence.loadSurveys(user.getId()); 
%>
	<BODY>
		<DIV id="general">
			<DIV id="header">
				<%@ include file="header.jsp" %>
			</DIV>
			<DIV id="content">
				<DIV id="main">
					<H1>Men&uacute; principal de encuestadores</H1>
					<DIV id="mySurveys">
						<DIV id="headerMySurveys">
							<H2>Mis encuestas:</H2>
							<A href="userAddSurvey.jsp"><INPUT type="button" class="button" value="Crear nueva encuesta" class="addSurvey"></A>
						</DIV>
						<DIV id="resultsSurveysTable">
							<FIELDSET class="fieldset"><LEGEND class="fieldsetTitle">Encuestas pendientes</LEGEND>
								<TABLE class="resultsSurveysTable">
									<TR class="headerTable">
										<TH>Tipo</TH>
										<TH>Asunto</TH>
										<TH>Categor&iacute;a</TH>
										<TH>Fecha de vencimiento</TH>
										<TH>Encuestados</TH>
										<TH>An&oacute;nima</TH>
										<TH class="novisible"></TH>
										<TH class="novisible"></TH>
									</TR>
									<%
										try {
											//cargamos las diferentes encuestas en la tabla correspondiente, comprobando que cada una
											//de ellas no haya llegado a su fecha límite
											for (Survey s: userSurveys) {
												//obtenemos la fecha de hoy y la comparamos con la fecha límite de la encuesta
												java.util.Calendar fechaActual = new java.util.GregorianCalendar();
												long fechaActualMilisegundos = fechaActual.getTimeInMillis();
												if (fechaActualMilisegundos < s.getDueDate().getTime()) {
													out.println("<TR class='noHeader'>");
													if (session.getAttribute("kind") == "admin") {
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

														//cargamos los datos de la categoría de la encuesta actual
														Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");

														//obtenemos el número de usuarios que han respondido la encuesta acutal
														int respondidas = eSurveyPersistence.numberUsersResponsed(s.getId());
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+respondidas+"</TD>");

														//asignamos el valor correspondiente al campo en función de si es anónima o no
														if (s.isAnonymous()) {
															out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
														} else {
															out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
														}													
														out.println("<TD class='novisible'><IMG src='images/unchecked.gif' title='Eliminar encuesta' class='link' onclick='userAdminDeleteSurvey("+s.getId()+")' /></TD>");

														if (respondidas >  0) {
															out.println("<TD class='novisible'><IMG src='images/informe.png' title='Consultar informe' class='link informe' onclick='userAdminResultsSurvey("+s.getId()+")' /></TD>");
														} else {
															out.println("<TD class='novisible noInforme'></TD>");
														}
													} else {
														out.println("<TR class='noHeader'>");
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

														//cargamos los datos de la categoría de la encuesta actual
														Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");

														//obtenemos el número de usuarios que han respondido la encuesta acutal
														int respondidas = eSurveyPersistence.numberUsersResponsed(s.getId());
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+respondidas+"</TD>");

														//asignamos el valor correspondiente al campo en función de si es anónima o no
														if (s.isAnonymous()) {
															out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
														} else {
															out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
														}

														out.println("<TD class='novisible'><IMG src='images/unchecked.gif' title='Eliminar encuesta' onclick='userDeleteSurvey("+s.getId()+")' class='link'/></TD>");

														if (respondidas >  0) {
															out.println("<TD class='novisible'><IMG src='images/informe.png' title='Consultar informe' class='link informe' onclick='userResultsSurvey("+s.getId()+")' /></TD>");
														} else {
															out.println("<TD class='novisible noInforme'></TD>");
														}
													}
													out.println("</TR>");
												}
											}
										} catch (Exception e) {
											response.sendRedirect("error.jsp?exception="+e);
										}
									%>
								</TABLE>
							</FIELDSET>
						</DIV>
						<DIV id="resultsSurveysTable">
							<FIELDSET class="resultsTables"><LEGEND class="fieldsetTitle">Encuestas cerradas</LEGEND>
								<TABLE class="resultsSurveysTable">
									<TR class="headerTable">
										<TH>Tipo</TH>
										<TH>Asunto</TH>
										<TH>Categor&iacute;a</TH>
										<TH>Fecha de vencimiento</TH>
										<TH>Encuestados</TH>
										<TH>An&oacute;nima</TH>
										<TH class="novisible"></TH>
										<TH class="novisible"></TH>
									</TR>
									<%
										try {
											//cargamos las diferentes encuestas en la tabla correspondiente, comprobando que cada una
											//de ellas sí haya llegado a su fecha límite
											for (Survey s: userSurveys) {
												//obtenemos la fecha de hoy y la comparamos con la fecha límite de la encuesta
												java.util.Calendar fechaActual = new java.util.GregorianCalendar();
												long fechaActualMilisegundos = fechaActual.getTimeInMillis();
												if (fechaActualMilisegundos >= s.getDueDate().getTime()) {
													out.println("<TR class='noHeader'>");
													if (session.getAttribute("kind") == "admin") {
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

														//cargamos los datos de la categoría de la encuesta actual
														Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");

														//obtenemos el número de usuarios que han respondido la encuesta acutal
														int respondidas = eSurveyPersistence.numberUsersResponsed(s.getId());
														out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+respondidas+"</TD>");

														//asignamos el valor correspondiente al campo en función de si es anónima o no
														if (s.isAnonymous()) {
															out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
														} else {
															out.println("<TD onclick='userAdminViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
														}

														out.println("<TD class='novisible'><IMG src='images/unchecked.gif' title='Eliminar encuesta' class='link'onclick='userAdminDeleteSurvey("+s.getId()+")' /></TD>");

														if (respondidas > 0) {
															out.println("<TD class='novisible'><IMG src='images/informe.png' title='Consultar informe' class='link informe' onclick='userAdminResultsSurvey("+s.getId()+")' /></TD>");
														} else {
															out.println("<TD class='novisible noInforme'></TD>");
														}
													} else {
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getKindToString()+"</TD>");
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getSubject()+"</TD>");

														//cargamos los datos de la categoría de la encuesta actual
														Category c = eSurveyPersistence.loadCategory(s.getIdCategory());
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+c.getName()+"</TD>");

														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+s.getDueDateToString()+"</TD>");

														//obtenemos el número de usuarios que han respondido la encuesta acutal
														int respondidas = eSurveyPersistence.numberUsersResponsed(s.getId());
														out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>"+respondidas+"</TD>");

														//asignamos el valor correspondiente al campo en función de si es anónima o no
														if (s.isAnonymous()) {
															out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>S&iacute;</TD>");
														} else {
															out.println("<TD onclick='userViewSurvey("+s.getId()+")' title='Visualizar encuesta'>No</TD>");
														}

														out.println("<TD class='novisible'><IMG src='images/unchecked.gif' title='Eliminar encuesta' class='link' onclick='userDeleteSurvey("+s.getId()+")' /></TD>");

														if (respondidas > 0) {
															out.println("<TD class='novisible'><IMG src='images/informe.png' title='Consultar informe' class='link informe' onclick='userResultsSurvey("+s.getId()+")' /></TD>");
														} else {
															out.println("<TD class='novisible'></TD>");
														}
													}
													out.println("</TR>");
												}
											}
										} catch (Exception e) {
											response.sendRedirect("error.jsp?exception="+e);
										}
									%>
								</TABLE>
							</FIELDSET>
						</DIV>
					</DIV>
					<DIV id="profile">
						<H2>Perfil:</H2>
						<FIELDSET class="fieldset profileFieldset"><LEGEND class="fieldsetTitle">Datos personales</LEGEND>
							<UL>
								<LI>
									<LABEL id="lblUser" class="labelTitle">
										Usuario:
									</LABEL>
									<LABEL id="lblUserValue" class="labelValue">
										<%= user.getLogin() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblName" class="labelTitle">
										Nombre:
									</LABEL>
									<LABEL id="lblUserValue" class="labelValue">
										<%= user.getName() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblSurname" class="labelTitle">
										Apellidos:
									</LABEL>
									<LABEL id="lblSurnameValue" class="labelValue">
										<%= user.getSurname() %>
									</LABEL>
								</LI>
								<LI>
									<LABEL id="lblEmail" class="labelTitle">
										Email:
									</LABEL>
									<LABEL id="lblEmailValue" class="labelValue">
										<%= user.getEmail() %>
									</LABEL>
								</LI>
							</UL>
						</FIELDSET>
					</DIV>
					<DIV id="passwordChange">
						<A href="getRescureSession.jsp?login=<%= login %>">Cambiar contrase&ntilde;a</A>
					</DIV>
				</DIV>
				<DIV id="nav">
					<DIV class="tabs">
						<% if (session.getAttribute("kind") == "user") { %>
							<%@ include file="pollsterTabs.html" %>
						<% } else if (session.getAttribute("kind") == "admin") { %>
							<%@ include file="adminTabs.html" %>
						<% } %>
					</DIV>
				</DIV>
			</DIV>
			<DIV id="footer">
				<%@ include file="footer.jsp" %>
			</DIV>
		</DIV>
	</BODY>
<%
	} catch (Exception e) {
		response.sendRedirect("error.jsp?exception="+e);
	}
} else {
		response.sendRedirect("login.jsp");
}
%>
</HTML>
